home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / tsql / doc / tsql.mail / 000066_csj@iesd.auc.dk _Sun Apr 4 22:57:12 1993.msg < prev    next >
Internet Message Format  |  1996-01-31  |  18KB

  1. Received: from iesd.auc.dk by optima.cs.arizona.edu (5.65c/15) via SMTP
  2.     id AA13248; Sun, 4 Apr 1993 13:57:35 MST
  3. Received: from yellow.iesd.auc.dk by iesd.auc.dk with SMTP id AA14985
  4.   (5.65c8/IDA-1.5/MD for <tsql@cs.arizona.edu>); Sun, 4 Apr 1993 22:57:12 +0200
  5. Date: Sun, 4 Apr 1993 22:57:12 +0200
  6. From: "Christian S. Jensen" <csj@iesd.auc.dk>
  7. Message-Id: <199304042057.AA14985@iesd.auc.dk>
  8. To: tsql@cs.arizona.edu
  9. Subject: TSQL benchmark
  10.  
  11. ********************************************************************
  12. *                  The TSQL Benchmark Initiative                   *
  13. ********************************************************************
  14.  
  15. Below, I have included the up-to-date version of the benchmark
  16. document. The document now contains both the consensus schema and a
  17. straw proposal for a database instance. In addition, I comment on the
  18. most recent comments for improving the benchmark document. First,
  19. however, there is a summary of the current status.
  20.  
  21. Best regards,
  22. Christian
  23.  
  24. ********************************************************************
  25. *               Status for the three initial tasks.           *
  26. ********************************************************************
  27.  
  28. Task 1: The benchmark database schema.
  29.  
  30. There has now been several iterations, and many improvements over the
  31. initial proposal have been suggested. (Below, I briefly discuss how I
  32. have tried to reflect the most recent comments in the benchmark
  33. document.) I think we can all be very satisfied with the result, and I
  34. feel that we have accomplished the goal of defining a consensus schema
  35. for the benchmark. As a result, it is time to freeze the schema and
  36. move on. However, new comments related to how I have tried to
  37. accommodate the most recent comments are still very welcome.
  38.  
  39. Task 2: The benchmark database instance.
  40.  
  41. A straw proposal for this is now included in the document. In order to
  42. avoid an initial bias, I have described the instance in natural
  43. language, without any tabular representations.
  44.  
  45. If some tabular representation should be used in this document, the
  46. choice of a particular representation should evolve from the
  47. discussions in this forum.
  48.  
  49. In my opinion, the transformation of a natural language description of
  50. the db instance to a tabular representation may not be immediately
  51. clear. This is only a problem if we think in terms of tabular
  52. representations. In itself the natural language description is brief.
  53.  
  54. Tabular representations will of course be used when it is described how
  55. the benchmark queries are expressed in various query languages.
  56.  
  57. Task 3: The taxonomy of benchmark queries.
  58.  
  59. A separate document containing a proposal will be posted soon.
  60.  
  61.  
  62. ********************************************************************
  63. * Notes on the incorporation of recent comments into the benchmark *
  64. * document.                               *
  65. ********************************************************************
  66.  
  67. Scope:
  68. ******
  69.  
  70. ***Exclusion of transaction time queries.
  71.  
  72. It is my evaluation that transaction time data (and queries) should
  73. not be included in this initial version.
  74.  
  75. Judging from the majority of comments, the general agreement seems to
  76. be that transaction time can be disregarded in the first version. This
  77. is also consistent with the fact that only a minority of the more than
  78. two dozen existing temporal relational data models support both valid
  79. and transaction time.
  80.  
  81. Some models are capable of treating transaction and valid time queries
  82. in a symmetric fashion. That will become apparent when transaction time
  83. is included.
  84.  
  85.  
  86. ***Exclusion of nested queries and queries with several references to
  87. the same relation.
  88.  
  89. It has been pointed out by several contributors that these
  90. restrictions are rather artificial. For that reason, these
  91. restrictions are no longer mentioned in the document.
  92.  
  93. ***Exclusion of updates.
  94.  
  95. It is certainly true that updates are essential in a temporal data
  96. model. The exclusion of updates in the first version of the benchmark
  97. is not intended to dispute this. Rather, it reflects our cautious
  98. approach where we try to limit the scope where it makes sense. Updates
  99. are easily identified and thus easily excluded.
  100.  
  101. I propose that we allow updates after regular queries have been
  102. proposed if this turns out to be manageable. Thus, updates will now be
  103. included into the benchmark before the TDB workshop (but not
  104. immediately) if this is practical. I hope this is an acceptable
  105. compromise.
  106.  
  107. Schema:
  108. *******
  109.  
  110. ***Non-1NF relations.
  111.  
  112. A temporal relational schema needs not be in 1NF, but I feel that the
  113. non-1NF'ness should be due only to the introduction of time. Put
  114. differently, snapshots should be 1NF relations.
  115.  
  116. ***The dependency Manager --> Dept.
  117.  
  118. This has been added to the Mgr schema as it appears to introduce more
  119. diversity without adding complexity.
  120.  
  121. ***Naming convention.
  122.  
  123. Relation instances start with lowercase letters, and relation schemas
  124. (including the attributes) start with uppercase letters.
  125.  
  126. ***New relation schema.
  127.  
  128. A relation schema, Skills = (Name, Skill), is included. This way, all
  129. relation schemas are in BCNF. Several contributors would like a schema
  130. which is at least in 3NF.
  131.  
  132. The Attribute Skill is time-varying.
  133.  
  134. ***Adding a Budget attribute to the Mgr schema.
  135.  
  136. The stated motivation for adding a Budget attribute to the Mgr schema
  137. is to be able to compare time-varying attributes of distinct relations
  138. in a query, e.g., Budget in Mgr and Salary in Emp.
  139.  
  140. This is an interesting suggestion, and I request further comments on
  141. this. If other contributors feel that this extra attribute allows them
  142. to formulate types of queries that the existing schema does not allow,
  143. it would be very useful to hear about that very soon.
  144.  
  145. In the current db schema there are two relations (Emp and Skills) both
  146. with time-varying attributes (but Dept and Skill are not easy to
  147. compare meaningfully)...
  148.  
  149. \documentstyle[11pt]{article}
  150. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  151. % This paper is intended to evolve into the first version of the TSQL
  152. % benchmark.  
  153. % The purpose of this draft is to settle on a database instance for
  154. % the already agreed-upon database schema.
  155. % The purpose of the following draft is then to define a taxonomy to
  156. % be used for categorizing the benchmark queries that will follow.
  157. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  158.  
  159. \addtolength{\textwidth}{1.485in}
  160. \setlength{\oddsidemargin}{.1in}
  161. \setlength{\evensidemargin}{.1in}
  162. \addtolength{\topmargin}{-.85in}
  163. \addtolength{\textheight}{1.8in}
  164.  
  165. \newenvironment{prog} { \begin{center} \begin{minipage}{3in}
  166. \begin{tabbing} nnnn\=nnnn\=nnnn\=nnnn\=nnnn\=nnnn\=nnnn\=\kill
  167. }{\end{tabbing} \end{minipage} \end{center}}
  168.  
  169. \long\def\comment#1{}
  170. \newcommand{\mvd}{\mbox{$\rightarrow \!\!\! \rightarrow \;$}}
  171. \newcommand{\autsp}{$\;\;\;$}
  172.  
  173. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  174. % PAPER START
  175. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  176.  
  177. \begin{document}
  178.  
  179. \title{\Large\bf The TSQL Benchmark \\ DRAFT} 
  180. \author{James Clifford \autsp Shashi K.~Gadia \autsp Fabio Grandi
  181.   \autsp Christian S.~Jensen \\ Patrick Kalua \autsp Sunil Nair \autsp
  182.   Edward Robertson \autsp John F.~Roddick \\ Maria Rita Scalas \autsp
  183.   Richard T.~Snodgrass \autsp Abdullah Tansel \autsp Paolo Tiberio
  184.   \autsp Gene Wuu}
  185.  
  186. %Note that the list of authors is preliminary and may not be accurate!
  187.  
  188. \date{April 4, 1993} 
  189. \maketitle
  190.  
  191. \section{Introduction}
  192.  
  193. \subsection{Goal}
  194.  
  195. The central goal of this document is to provide the temporal database
  196. community with a {\em comprehensive consensus benchmark} for temporal
  197. query languages that is {\em independent} of any existing language
  198. proposal.
  199.  
  200. This is not a performance benchmark, but is rather a {\em semantic}
  201. benchmark intended to be an aid in evaluating the user-friendliness of
  202. proposals for temporal query languages. Thus, temporal query languages
  203. should ideally be able to express the benchmark queries both
  204. conveniently and naturally.
  205.  
  206. To obtain a consensus benchmark, researchers in temporal databases
  207. have been invited to participate in this initiative, and each researcher
  208. that has contributed significantly will be a coauthor. The electronic
  209. mail distribution {\tt tsql@cs.arizona.edu} is used as the medium for
  210. discussing the benchmark and related issues.
  211.  
  212. As a consequence of the central goal above, no existing temporal data
  213. models are used or mentioned. The relation schemas of the benchmark
  214. are expressed as sets of attributes, with the temporal aspects being
  215. implicit (of course, specific temporal data models might add explicit
  216. temporal attributes). The contents of the relations are described in
  217. natural language. The benchmark queries are also given only in natural
  218. language.
  219.  
  220. The benchmark is {\em not} intended to constitute a metric for query
  221. language completeness, and as such it is not a substitute for a
  222. rigorous {\em theoretical} study of expressive powers of various
  223. temporal query languages. Comprehensiveness of the benchmark is
  224. desirable only to ensure that all aspects of query language design are
  225. covered.
  226.  
  227. It it emphasized that using the benchmark as an advanced, quantitative
  228. scoring system for comparing languages makes little sense. Thus, one
  229. language is not necessarily superior to another just because one is
  230. capable of expressing more benchmark queries than the other. Rather,
  231. the focus is on user-friendliness.
  232.  
  233. \subsection{Scope}
  234.  
  235. Within certain boundaries, discussed next, the benchmark is intended
  236. to contain all queries that appear reasonable and that are consistent
  237. with the schema and data of the benchmark.
  238.  
  239. First, the benchmark is of a semantic nature---in its current form, it
  240. is not aimed at performance comparisons. The intention is to provide a
  241. foundation for comparing the descriptive and operational
  242. characteristics and capabilities of temporal query languages, not
  243. their performance characteristics. Properly extended with additional
  244. relation schemas and a variety of large instances, the benchmark can
  245. also be used for performance comparisons.
  246.  
  247. Second, a number of restrictions are imposed on which types of queries
  248. are admissible in this version of the benchmark, including the
  249. following.
  250.  
  251. \begin{itemize}
  252. \item Queries are restricted to valid time only. Transaction-time
  253.   related queries are not explored.
  254.  
  255. \item Schema evolution and versioning are not considered.
  256.  
  257. \item Incompleteness is not considered. 
  258.  
  259. \item Recursive queries are not included.
  260.  
  261. \item General temporal reasoning is beyond the scope of this version
  262.   of the benchmark.
  263.  
  264. \item Queries involving aggregation facilities are not considered.
  265.  
  266. \item Only queries are included---updates are not considered.
  267.  
  268. \comment{
  269. \item Queries involving relations with multivalued dependencies (in
  270.   the snapshot sense) are not explored.}
  271.  
  272. \comment{
  273. \item User-defined time, including the interaction between
  274.   user-defined time and valid time, is not considered.}
  275.  
  276. \comment{
  277. \item Queries involving complex data retrieval are excluded.}
  278.  
  279. \comment{
  280. \item Inheritance at both the schema and data levels is not
  281.   considered.}
  282.  
  283. \comment{
  284. \item Nested queries are not included.}
  285.  
  286. \comment{
  287. \item For simplicity, each relation is used only once in each query.}
  288.  
  289. \end{itemize}
  290.  
  291. These advanced aspects are excluded solely for pragmatic reasons, and
  292. the exclusion is not meant to imply in any way that the aspects are
  293. not important. The restrictions simply represent an attempt to reduce
  294. the size of the initial benchmark to manageable proportions.
  295.  
  296. It is emphasized that this benchmark is merely the first in a sequence
  297. of ever-more comprehensive benchmarks. Later benchmarks will relax the
  298. above restrictions on the scope of comprehensiveness imposed on this
  299. benchmark. Specifically, the next version of the benchmark is intended
  300. to include queries that involve aggregation.
  301.  
  302. \comment{
  303. Specifically, the next version of the benchmark is intended to include
  304. queries that use the same relation more than once, utilize
  305. aggregation, and involve both valid time and user-defined time.}
  306.  
  307. \section{The Benchmark Database Schema}
  308.  
  309. \subsection{Criteria}
  310.  
  311. A suitable database schema for the benchmark should satisfy four
  312. criteria.
  313.  
  314. \begin{itemize}
  315. \item{} The schema should be natural. That is, it should correspond to
  316.   a reasonable, though possibly greatly simplified, segment of the
  317.   real world. This both reduces the need to explain the model and
  318.   enhances the ability to recognize verball pitfalls in the path to
  319.   the query instances.
  320.  
  321. \item{} The schema should be simple. This will aid in making the
  322.   benchmark easy to understand. This criterion restricts the number of
  323.   relation schemas and the number of attributes of the individual
  324.   schemas. Additionally, the names of the relations and of the
  325.   attributes should be short, as they will be referenced repeatedly.
  326.  
  327.   When an extension is proposed, the benefits should be carefully
  328.   compared with the added complexity.
  329.  
  330. \item{} The schema should allow for comprehensiveness within the
  331.   chosen scope. Using the schema, it should be possible formulate
  332.   queries of all the types that appear reasonable.
  333.  
  334.   This indicates a need for at least two related relation schemas (for
  335.   natural join queries).
  336.  
  337. \item{} A schema that has already been used frequently is preferred
  338.   over a new schema. This guarantees that many existing queries can be
  339.   adapted easily to the benchmark.
  340.  
  341. \item{} For clarity, schema and attribute names must start with
  342.   capital letters.
  343. \end{itemize}
  344.  
  345. \subsection{The Schema}
  346.  
  347. The database schema consists of three valid-time relation schemas,
  348. {\tt Emp}, {\tt Skills}, and {\tt Mgr}. In the terminology of the
  349. entity-relationship model, the first schema models an entity set while
  350. the second and third schemas model relationship sets. They are defined
  351. as follows.
  352.  
  353. Relation {\tt Emp} uses the attributes {\tt Name}, {\tt Salary}, and
  354. {\tt Dept} for recording the relationships between employees,
  355. salaries, and departments. In addition, it contains attributes {\tt
  356.   Gender} and {\tt D-birth} which indicate the gender and date of
  357. birth of an employee. While the salary and department of an employee
  358. varies over time, both {\tt Gender} and {\tt D-birth} are
  359. time-invariant.
  360.  
  361. Relation {\tt Skills} records the association of employees with skills
  362. via the two attributes {\tt Name} and {\tt Skill}. The skills of an
  363. employee may vary over time. For example, employees are considered to
  364. have the skill ``driving'' only during those interval(s) when they
  365. hold valid licenses.
  366.  
  367. Relation {\tt Mgr} records the association of employees, as managers,
  368. with departments, and it contains two attributes, {\tt Dept} and {\tt
  369.   Manager}.
  370.  
  371. Attributes {\tt Name}, {\tt Dept}, {\tt Skill}, and {\tt Manager} are
  372. of type {\tt textString}; attribute {\tt Gender} is one of {\tt F}
  373. (female) and {\tt M} (male); {\tt Salary} is of type {\tt integer};
  374. and {\tt D-birth} is a user-defined time value which may be compared
  375. with valid times.
  376.  
  377. The relation schemas obey the following {\em snapshot} functional
  378. and multivalued dependencies:
  379.  
  380. \begin{prog}
  381. For {\tt Emp}: \\
  382. \> {\tt Name} $\rightarrow$ {\tt Salary} \\
  383. \> {\tt Name} $\rightarrow$ {\tt Dept} \\
  384. \> {\tt Name} $\rightarrow$ {\tt Gender} \\
  385. \> {\tt Name} $\rightarrow$ {\tt D-birth} \\
  386. For {\tt Skills}: \\
  387. \> {\tt Name} $\mvd$ {\tt Skill} (and {\tt Name} $\not\rightarrow$
  388. {\tt Skills}) \\
  389. For {\tt Mgr}: \\
  390. \> {\tt Dept} $\rightarrow$ {\tt Manager} \\
  391. \> {\tt Manager} $\rightarrow$ {\tt Dept}
  392. \end{prog}
  393.  
  394. Note that {\tt Name} is the primary key of {\tt Emp} (it is the only
  395. candidate key). The schema is in snapshot Boyce-Codd normal form.
  396. Schemas {\tt Skills} and {\tt Mgr} are also in snapshot Boyce-Codd
  397. normal form.
  398.  
  399. The attribute {\tt Manager} of {\tt Mgr} is a foreign key for the
  400. attribute {\tt Name} of {\tt Emp}. Thus, a tuple is allowed to exist
  401. in the {\tt Mgr} relation only if, for each non-empty snapshots of
  402. this tuple, the {\tt Manager} attribute value exists as a {\tt Name}
  403. value of some tuple in the simultaneous snapshot of the {\tt Emp}
  404. relation.
  405.  
  406. \section{The Benchmark Data}
  407.  
  408. \subsection{Criteria}
  409.  
  410. \begin{itemize}
  411. \item{} For simplicity and ease of typing, attribute values should be
  412.   short and salary values should be multiples of \$10,000.
  413.  
  414. \item{} Transitions (i.e., timestamp values) occur only at the
  415.   beginning of the month, and all dates should be in the time interval
  416.   from 1/1/81 to 12/31/88 (because the digits 8 and 9 are relatively
  417.   hard to distinguish). Time intervals are all specified by the
  418.   inclusive starting and ending events. Also for clarity, relation
  419.   instance names should start with lowercase letters.
  420.  
  421. \item{} The data should include a ``hole in the history'' of some
  422.   entity. For example, the database may be designed to contain a whole
  423.   in the employment of some employee.
  424.  
  425. \item{} The data should include asynchronous behavior of attributes.
  426.   For example, the department and salary of employees may change
  427.   independently.
  428. \end{itemize}
  429.  
  430. \subsection{The Proposed Data}
  431.  
  432. Three instances, {\tt emp}, {\tt skills}, and {\tt mgr}, are defined
  433. over the {\tt Emp}, {\tt Skills}, and {\tt Mgr} relation schemas,
  434. respectively. The contents of these instances is described below.
  435.  
  436. There are two employees, Ed and Di.
  437.  
  438. Ed worked in the Toy department from 2/1/82 to 1/31/87, and in the
  439. Book department from 4/1/87 to the present. His salary was \$20K from
  440. 2/1/82 to 5/31/82, then \$30K from 6/1/82 to 1/31/85, then \$40K from
  441. 2/1/85 to 1/31/87 and 4/1/87 to the present. Ed is male and was born
  442. on 7/1/55. Several skills are recorded for Ed. He has been qualified
  443. for typing since 4/1/82 and qualified for filing since 1/1/85. He was
  444. qualified for driving from 1/1/82 to 5/1/82 and from 6/1/84 to
  445. 5/31/88.
  446.  
  447. Di worked in and managed the Toy department from 1/1/82 to the
  448. present. Her salary was \$30K from 1/1/82 to 7/31/84, \$40K from
  449. 8/1/84 to 8/31/86, then \$50K from 9/1/86 to the present. Di is female
  450. and was born on 10/1/60. Di has been qualified for directing from
  451. 1/1/82 to the present.
  452.  
  453. \end{document}